Method and Apparatus for Active Heave Compensation

ABSTRACT

Methods and apparatuses for active heave compensation, the method, in certain aspects, including the steps of: (a) measuring with a measurement device ( 44 ) the heave of a vessel ( 10 ) and outputting a heave signal representative thereof; (b) using said heave signal to compensate for said heave by moving a connection device ( 20 ) relative to said vessel ( 10 ) as a function of said heave signal, whereby movement due to said heave of a load attached to said vessel via the connection device is reduced; said heave signal comprising errors induced by said measurement device ( 44 ) whereby accuracy of said compensation is reduced; (c) processing said heave signal so as to reduce said errors and outputting an adjusted heave signal; and (d) using said adjusted heave signal to move said connection device ( 20 ) to compensate for said heave.

FIELD OF THE INVENTION

The present invention relates to methods and apparatus for activelycompensating heave of a vessel, to a method of starting and stoppingactive heave compensation, to a measurement device for measuring heaveof a vessel, to an apparatus for controlling the method, to a method ofinstalling and configuring such apparatus, and to a computer programcomprising computer executable instructions for performing the method.

BACKGROUND TO THE INVENTION

The operations of many floating vessels (e.g. semi-submersible drillingrigs, drill ships and pipe-laying ships) are impeded by sea swell. Seawaves impart an up and down motion to the vessel (known as ‘heave’), theperiod of which can range from a few seconds to 25 s or so, and can beof a few centimetres to 15 m or more in amplitude. This up and downmotion is imparted to a load attached to the vessel. In manycircumstances the motion of the load is highly undesirable and evendangerous to equipment and personnel. For example when attempting todrill a wellbore in the sea bed, the motion can cause a correspondingmotion of the drill string. The up and down movement of the drill bit ishighly undesirable and severely restricts the operating window of therig. For example, it is estimated that in the North Sea as much as 20%of rig operating time is lost ‘waiting on weather’ i.e. waiting forbetter weather when the sea is calmer.

Heave compensation is concerned with reducing the effect of this up anddown motion on a load attached to the vessel. So-called ‘passive’ heavecompensation methods are known which rely on the load being fixed atsome other point (e.g. to the sea bed). Sea swell causes the vessel tomove relative to the load and a passive compensator uses compressed airto provide a low frequency damping effect between the load and thevessel. There are several disadvantages with passive heave compensationmethods and apparatus, including that the weight (typically 100-150tons) of the passive compensator must be suspended tens of metres abovethe rig floor, which affects the centre of gravity of the vessel, andthat the use of passive compensation is limited to loads that areattached to some other point.

So-called active heave compensation methods have been deployed in thefield in recent years. An active heave compensation method involvesmeasuring the movement of the vessel using a measuring device (forexample a Motion Reference Unit or MRU) and using a signal representingthe motion of the vessel to control a drive for moving the connectiondevice (e.g. travelling block, crane hook) relative to the vessel. Inprinciple, if the connection device is moved in a manner equal butopposite to the motion of the vessel the heave can be substantiallycancelled. A major advantage of active heave compensation is that itdoes not rely on movement of the load itself relative to the vesselbefore compensation can be applied.

The drive controlling motion of the connection device may comprise an ACdrawworks for example. A drawworks is a powerful (e.g. 6MW) winch thatis connected to the connection device by a cable that passes through ablock and tackle arrangement. Reeling in and out of the cable causes theconnection device to be raised and lowered relative to the vessel. Anoperator command (e.g. to raise or lower the load) is superimposed ontothe heave compensation so that the desired motion of the load isachieved irrespective of the motion of the vessel.

However, it has been observed in the field that such active heavecompensation has an error of about 10-20% of the heave amplitude. Thusfor a heave amplitude of 1 m, the load can be out of position by about0.1-0.2 m. Such an error is not acceptable, particularly if lowering astring of tubulars from the surface for connection to wellhead on thesea bed for example.

Another problem of active heave compensation is that as the amplitude ofthe motion of the vessel due to heave increases, the demands on thedrive to achieve complete compensation increases accordingly. Sooner orlater each parameter of the drive will reach its limitation: forcelimitations, power limitations, speed limitations, and/or accelerationlimitations. In this situation it can be dangerous to keep the activeheave compensation in operation since some part may fail and damageequipment and/or personnel; yet at the same time it is dangerous toswitch off active heave compensation since the heave of the vessel maycause similar problems. The usual method for dealing with this problemhas been to set a constant threshold for each of the parameters; if oneof parameters exceeds the constant threshold active heave compensationis switched off. However, this does not really address theaforementioned problem.

A yet further problem of active heave compensation is caused inactivating and de-activating the compensation. In particular, largetorque fluctuations can result in the motors controlling the load whenheave compensation is switched on or off.

SUMMARY OF THE INVENTION

A first aspect of the present invention is based on the discovery thatthere are errors introduced by the apparatus that performs active heavecompensation, and that these errors can be substantially correctedwhereby the accuracy of the heave compensation is greatly improved (insome cases the aforementioned error is reduced to approximately 1-2%).The errors can be broken down into three main areas:

(a) errors introduced by the vessel motion measurement device;

(b) errors introduced by the drive; and

(c) errors introduced by friction in the apparatus responsible formoving the connection device.

Correcting or reducing the errors of any one, or any combination, of(a)-(c) can improve the accuracy of the active heave compensation.

One of the errors in (a) is a lead phase distortion of a heave signaloutput from the measurement device. In one aspect the heave signal is asignal representing velocity of the heave, whereby the measured velocityis some time in front of the real velocity of the vessel. Surprisinglyit was discovered that without any corrections for (a) the heavecompensation can actually become unstable. The instabilities caused theamplitude of motion of the vessel relative to a load stiffly coupled toa fixed point (e.g. the sea bed) to actually increase exponentially withtime. The applicant has discovered that such observed instabilities arecaused by a combination of the lead phase shift errors from the vesselmotion measurement device, a high mechanical stiffness of the couplingload (e.g. a marine riser which is fixed to the sea bed) and a highvessel mobility (which is explained in greater detail below). The leadphase shift introduces a negative damping mechanism that feeds energyinto the oscillator system comprising the vessel and its hydrodynamicstiffness (which is proportional to the water plane area). Theinstability problem is most severe for semi-submersible rigs becausethey have a low hydrodynamic damping and a correspondingly high mobilityat their natural period (typically around 20s). When the negativedamping exceeds the natural hydrodynamic damping of the vessel, theinstability will appear as a resonance rig oscillation with growingamplitude. Accordingly correction of (a) should be done carefully toensure that the lead phase error at the natural heave period issubstantially (and ideally completely) cancelled.

According to one aspect of the present invention there is provided amethod of actively compensating heave of a vessel to which a load isattached, there being a connection device connecting said load to saidvessel, which method comprises the steps of:

(a) measuring with a measurement device the heave of said vessel andoutputting a heave signal representative thereof;

(b) using said heave signal to compensate for said heave by moving saidconnection device relative to said vessel as a function of said heavesignal, whereby movement of said load due to said heave is reduced;

said heave signal comprising errors induced by said measurement devicewhereby accuracy of said compensation is reduced, characterised by thesteps of:

(c) processing said heave signal so as to reduce said errors andoutputting an adjusted heave signal; and

(d) using said adjusted heave signal to move said connection device tocompensate for said heave.

Further steps of the method are set out in claims to 2 to 53 to whichattention is hereby directed.

Drive Correction

According to another aspect of the present invention there is provided amethod of actively compensating heave of a vessel to which a load isattached, there being a connection device connecting said load to saidvessel, which method comprises the steps of:

(a) measuring with a measurement device the heave of said vessel andoutputting a heave signal representative thereof;

(b) using said heave signal to control a drive apparatus for moving saidconnection device relative to said vessel whereby movement of said loaddue to said heave is reduced;

said drive apparatus introducing errors in said movement of saidconnection device whereby accuracy of said compensation is reduced,characterised by the steps of:

(c) adjusting the said heave signal so as to reduce errors introduced bysaid drive apparatus in effecting movement of said connection device;and

(d) using said adjusted heave signal to move said connection device tocompensate for said heave.

Dynamic Friction Correction

According to yet another aspect of the present invention there isprovided a method of actively compensating heave of a vessel to which aload is attached, there being a connection device connecting said loadto said vessel, which method comprises the steps of:

(a) measuring with a measurement device the heave of said vessel andoutputting a heave signal representative thereof;

(b) using said heave signal to control a drive apparatus for moving saidconnection device relative to said vessel whereby movement of said loaddue to said heave is reduced;

said drive apparatus introducing errors in said movement of saidconnection device whereby accuracy of said compensation is reduced,characterised by the steps of:

(c) adjusting the said heave signal to compensate for dynamic frictionin said drive apparatus; and

(d) using said adjusted heave signal to move said connection device tocompensate for said heave.

Delay Correction

A method of actively compensating heave of a vessel to which a load isattached, there being a connection device connecting said load to saidvessel, which method comprises the steps of:

(a) measuring with a measurement device the heave of said vessel andoutputting a heave signal representative thereof;

(b) using said heave signal to control a drive apparatus for moving saidconnection device relative to said vessel whereby movement of said loaddue to said heave is reduced;

said drive apparatus introducing a time delay in said movement of saidconnection device whereby accuracy of said compensation is reduced,characterised by the steps of:

(c) adjusting the said heave signal so as to reduce errors introduced bysaid time delay; and

(d) using said adjusted heave signal to move said connection device tocompensate for said heave.

Soft Switch

According to another aspect of the present invention there is provided amethod of starting or stopping active heave compensation on a vessel,which method comprises the steps of gradually increasing or decreasingover a predetermined time the amount of heave compensation appliedfollowing receipt of a signal to switch said active heave compensationon or off respectively.

Dynamic Limitation

According to yet another aspect of the present invention there isprovided a method of actively compensating heave of a vessel to which aload is attached, there being a connection device connecting said loadto said vessel, which method comprises the steps of:

(a) measuring with a measurement device the heave of said vessel andoutputting a heave signal representative thereof;

(b) using said heave signal to compensate for said heave by moving saidconnection device relative to said vessel as a function of said heavesignal, whereby movement of said load due to said heave is reduced; and

(c) applying a dynamic limit to the magnitude of said compensation.

Measurement Device

According to another aspect of the present invention there is provided ameasurement device for measuring heave of a vessel, which measurementdevice comprises a memory storing computer executable instructions forperforming any of the heave signal adjustment steps as set out above orherein. The measurement device may be a Motion Reference Unit comprisingsensor(s) for measuring motion (e.g. acceleration) of the vessel. Theoutput from the or each sensor may be processed by the MRU and sent toan electronic controller of a drawworks for example.

According to another aspect of the present invention there is providedan apparatus for controlling active heave compensation, which apparatuscomprises a memory storing computer executable instructions forperforming the any of the method steps above. The apparatus may comprisea computing device, such as a PLC, for installation on a vessel tocontrol the drive apparatus (e.g. drawworks) to implement the invention.The apparatus may further comprise one or more measurement device for,in use, measuring the motion of the vessel. According to another aspectof the invention there is also provided a method of installing on avessel the aforesaid apparatus. This method may also comprise the stepof configuring the apparatus for that particular vessel.

Certain embodiments of this invention are not limited to any particularindividual feature disclosed here, but include combinations of themdistinguished from the prior art in their structures, functions, and/orresults achieved. Features of the invention have been broadly describedso that the detailed descriptions that follow may be better understood,and in order that the contributions of this invention to the arts may bebetter appreciated. There are, of course, additional aspects of theinvention described below and which may be included in the subjectmatter of the claims to this invention. Those skilled in the art whohave the benefit of this invention, its teachings, and suggestions willappreciate that the conceptions of this disclosure may be used as acreative basis for designing other structures, methods and systems forcarrying out and practicing the present invention. The claims of thisinvention are to be read to include any legally equivalent devices ormethods which do not depart from the spirit and scope of the presentinvention.

The present invention recognizes and addresses the previously mentionedproblems and long felt needs and provides a solution to those problemsand a satisfactory meeting of those needs in its various possibleembodiments and equivalents thereof. To one of skill in this art who hasthe benefits of this invention's realizations, teachings, disclosures,and suggestions, other purposes and advantages will be appreciated fromthe following description of certain preferred embodiments, given forthe purpose of disclosure, when taken in conjunction with theaccompanying drawings. The detail in these descriptions is not intendedto thwart this patent's object to claim this invention no matter howothers may later disguise it by variations in form, changes, oradditions of further improvements.

The Abstract that is part hereof is to enable the U.S. Patent andTrademark Office and the public generally, and scientists, engineers,researchers, and practitioners in the art who are not familiar withpatent terms or legal terms of phraseology to determine quickly from acursory inspection or review the nature and general area of thedisclosure of this invention. The Abstract is neither intended to definethe invention, which is done by the claims, nor is it intended to belimiting of the scope of the invention or of the claims in any way.

It will be understood that the various embodiments of the presentinvention may include one, some, or all of the disclosed, described,and/or enumerated improvements and/or technical advantages and/orelements in claims to this invention.

BRIEF DESCRIPTION OF THE FIGURES

A more particular description of embodiments of the invention brieflysummarized above may be had by reference to the embodiments which areshown in the drawings which form a part of this specification. Thesedrawings illustrate certain preferred embodiments and are not to be usedto improperly limit the scope of the invention which may have otherequally effective or legally equivalent embodiments. Accordingly for abetter understanding of the present invention reference will now be madeby way of example only to accompanying drawings, in which:

FIG. 1 is a schematic side view of a drill ship according to the presentinvention;

FIG. 2 is a schematic block diagram of a drawworks according to thepresent invention in use with the derrick of the drilling rig of FIG. 1;

FIG. 3 is a schematic block diagram of the control apparatus of thedrawworks in FIG. 2;

FIG. 4 a is graph of the probability density of function and wave heightas a function of wave period;

FIG. 4 b is a graph showing rig response versus wave period;

FIG. 5 is a schematic control diagram for controlling a drive apparatusto provide heave compensation;

FIG. 6 is a schematic control diagram of the drive apparatus of FIG. 5;

FIG. 7 is a set of graphs showing the frequency response of the driveapparatus of FIG. 6 for different heave periods;

FIG. 8 is a graph showing the step response of the drive apparatus ofFIG. 5;

FIG. 9 is a graph of heave period versus phase and magnituderespectively for the velocity and position signals output from ameasurement device;

FIG. 10 is a graph of magnitude and phase versus heave period for thetransfer functions of the measurement device, drive and error;

FIG. 11 is a control diagram of an active heave compensation methodaccording to the present invention;

FIG. 12 is a graph of heave period versus magnitude of the errorfunction showing with compensation according to the invention andwithout compensation;

FIG. 12 a is a graph of set speed and block position versus time showinghow clipping of the set speed results in a gradual translation of thetravelling block;

FIG. 13 is a set of graphs showing the magnitude of the rig heave andacceleration versus time, and the frequency spectrum of the accelerationof a drill ship;

FIG. 14 is a set of graphs showing rig heave and rig velocity signalsfrom two different measurement devices;

FIGS. 15 to 24 show simulation results of implementing differentcorrections according to the invention;

FIG. 25 is a schematic side view of an apparatus employing a secondembodiment of a method according to the invention; and

FIG. 26 is a schematic control diagram for controlling the apparatus ofFIG. 26 in accordance with the second embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1 a floating drilling rig generally identified byreference numeral 10 comprises a drill ship having a rig floor 12supported on a hull 14. In this way the drilling rig floats at thesurface with the rig floor supported some 15-30 m thereabove. Thefloating drilling rig 10 may be any type of vessel or floating rig,including a semi-submersible. The drill floor of a semi-submersible issupported on columns that in turn are supported by pontoons. Thepontoons are flooded with sea water such that the pontoons are submergedto a predetermined depth below the surface of the sea.

The rig floor 12 supports a derrick 16 that comprises a crown block 18(fixed relative to the derrick), and a travelling block 20 (moveable upand down the height of the derrick). A hook 22 is suspended from thetravelling block 20 for picking up loads such as a drill string 24 via atop drive 25. The travelling block 20 and hook 22 perform the functionof a connection device for connecting the load to the drill ship 10.Each of the crown block 18 and travelling block 20 comprise a number ofsheaves (not shown) through which is threaded a steel rope 26 (sometimesknown in the art as a drill line) of 25-50 mm diameter to provide ablock and tackle type function. To one side of the derrick 16 the steelrope 26 is fixed to an anchor 28 on the rig floor 12, whereas to theother side of the derrick 16 the steel rope 26 is stored on a drum 29(see FIG. 2) in a drawworks 30 located on the rig floor 12. Thedrawworks 30 has dimensions of about 9.22 m width by 3.91 m depth by4.65 m high, weighs about 84,285 kg (84.3 metric tons), and can provideabout 6 MW of power.

In use electrical motors 31 (see FIG. 2) in the drawworks 30 turn thedrum 29 so as to reel the steel rope 26 in or out. Assuming that thedrilling rig 10 is not in motion itself, reeling the steel rope 26 outresults in lowering of the travelling block (and anything attachedthereto) toward the rig floor 12, whereas reeling the steel rope 26 inresults in raising of the travelling block 20 away from the rig floor12. In this way the drawworks 30 can be used to move objects into andout of the wellbore, and to perform other functions. The electricalmotors 31 may be of any type including AC motors, DC motors or permanentmagnet motors for example.

Referring to FIG. 2 the drawworks 30 comprises an electric drive 32controlling a number (e.g. four or six) electrical motors 31 for turningthe drum 29 via a gear and pinion arrangement 34. All of the electricalmotors 31 are permanently engaged with the drum 29, although the numberthat are in operation at any one time is controlled by the electricdrive 32 according to speed and braking requirements. Hydraulic discbrakes 36 provide a “parking” function, emergency braking and loadlowering in the event of a power cut.

Referring also to FIG. 3 a drawworks controller 38 comprising aprogrammable logic controller (PLC) provides speed commands via a speedcontroller 39 to the electric drive 32 based inter alia on motor speedand torque data fed back to the controller 38 from a pulse encoder (notshown) on each electrical motor 31, and on inputs from a driller controlapparatus 40. The driller control apparatus 40 may comprise a joystick(not shown) in a driller's cabin on the drilling rig 10; the driller'scabin comprises equipment for computer control of operations on thedrilling rig 10. Movement of the joystick by the driller provides anoutput signal that causes the travelling block 22, via the drawworks 30,to raise or lower the load on the hook 22 at a speed (also controllablevia the joystick).

The drawworks controller 38 also receives inputs from three MotionReference Units (MRU) 44, each mounted in a cabinet 45. The output fromeach MRU 44 is input to the drawworks controller 38 that processes thesignals to provide one output representing the heave acceleration,velocity and position of the drilling rig 10 as a result of ocean swellor heave.

The drilling rig 10 will oscillate in response to sea swell or waveswith a complex motion comprising three translation modes (known assurge, sway and heave) and three angular modes (known as roll, pitch andyaw). Referring to FIG. 4 a the typical range of frequencies of heave(i.e. vertical motion) is usually about 0.06 Hz to 0.2 Hz correspondingto a wave period of between about 16 s and 5 s respectively. Thesignificant wave height (peak-to-peak) can vary from zero to severalmeters, even exceeding 10 m during severe storm conditions. The seastate can vary much from time to time, from season to season and fromlocation to location around the world. FIG. 4 b shows how asemi-submersible drilling rig responds to the different sea states. Itwill be noted that the relative rig heave response drops steeply as theperiod decreases from 18 s, and therefore the rig acts as an effectivesmoothing or low pass filter. As sea swell is a function of bad weather,many floating drilling vessels must wait on the weather. In the NorthSea for example, waiting on weather can account for over 20% of thetotal time the rig is deployed.

In contrast to the angular motion, the magnitudes of the translationmodes vary with position on the vessel. Often they are given for ormeasured at the centre of gravity of the vessel where they have minimumamplitudes, but they can also be measured in a location away from thecentre of gravity. In many floating drilling rigs the well centre is notlocated at the centre of gravity, and it is the motion of the wellcentre that requires compensation. Because of the difficult access andmoving parts near the well centre, devices for measuring heave of thevessel are often positioned some distance from the well centre. When theMRU is located off well centre, the effective heave at the well centrecan be extrapolated from the MRU position by adding the heave componentsfrom roll and pitch motions. This extrapolation, which is called “leverarm” compensation, is normally performed by processing electronicsinside the MRU but it can also be performed externally of the MRU in thecontrol software (e.g. in the drawworks controller 38).

Measuring movement of the drilling rig 10 can be accomplished with ameasurement device known as a Motion Reference Unit (MRU). An MRU is adevice comprising linear motion sensors and gyroscopes for measuringrotational motion. The MRU used in this particular embodiment is anMRU-5 available from Kongsberg Maritime AS that measures and outputsinter alia signals representing roll, pitch, yaw and heave (any one orcombination of which is herein called a ‘heave signal’). The MRU-5comprises three linear accelerometers and three Coriolis gyros formeasuring linear accelerations and angular rates respectively about thethree spatial axes. Other MRUs could be used however, such as theTritech Intelligent Gyro Compass. It is also possible to construct apurpose built sensor that would measure heave acceleration, speed andacceleration only. Thus it is not essential to use an MRU-5 or similar.However, the additional sensors of such measurement devices do helpimprove accuracy, make for straightforward installation (the MRU-5 findsthe vertical direction automatically even the MRU axis is not perfectlyaligned to the vessel heave axis), and lever arm compensation.

The signals from the linear accelerometers are time integrated in theMRU to provide a velocity signal and then time integrated again in theMRU to provide a position signal. The signals from the gyros are used tomake lever arm corrections if the MRU is placed some distance from themeasurement point (MP). On a drilling rig it is normally desirable tomeasure the movement of the rig at the well centre since this mostaccurately reflects how the motion of the rig will affect the drillstring 24 or other equipment attached to the rig 10. However, it isimpractical to position the MRU at or near the well centre and thereforeit is usually positioned some distance away. MRUs are usuallyconfigurable with: dimensions of the rig and its centre of gravity; X, Yand Z co-ordinates of the lever arms of the MRU and the measurementpoint; and with the mounting angles of the MRU in terms of roll, pitchand yaw. Appendix A to this specification shows an example of an MRUconfiguration report from which these configuration parameters can beseen under the headings of “VESSEL” and “SENSOR”. By using theseparameters and the signals from the gyroscopes the MRU can translate theoutputs from the linear accelerometers into signals representing motionof the measurement point e.g. the well centre. However, it is possibleto eliminate or reduce the need for lever arm compensation by usinginterpolation of two or more vertical accelerometers placed on differentsides of the well centre or other point where the motion is desired tobe measured.

Referring again to FIG. 3 three MRUs 44 are mounted in a cabinet 45 withthe aforementioned MRU controller 42 that comprises a PLC with access toa memory 43 for processing the outputs from the MRUs 44 as described inmore detail below.

Although advanced MRUs (such as the MRU-5 mentioned above) are able toextrapolate heave motion at the well centre from any vessel position,the relatively high noise from the gyro sensors and the lever armcompensations favours MRU locations as close to the well centre aspossible in practice.

There are one hundred and eighty nine data output variables from eachMRU-5. The final output signals used from the MRUs are as follows (firstword is name presently given in MRU-5 manual):

-   -   (1) AccMruGY; acceleration of the rig at the measurement point        in the vertical (y-axis), with positive acceleration in a        downward sense;    -   (2) LA PosMonD; position of the rig at the measurement point,        with distance increasing in a downward sense; and    -   (3) LA VelMonD; velocity of the rig at the measurement point,        with positive velocity indicating a downward speed.

Referring to FIG. 5 a control diagram 50 shows how the signals from theMRUs 44 are used to provide active heave compensation when the rig moveswith sea swell. Input signal 51 is the true rig vertical velocityv_(rig) which is input to each MRU 44 (only one shown in FIG. 5). Thisis measured by the MRU 44 that provides an output which is the truevelocity v_(rig) multiplied by a linear but frequency dependent transferfunction G. It is to be noted that as used herein v_(mru) and v_(rig)are defined positive upwards while the MRU-5 defines motion positivedownwards. Input signal 52 is the desired operator velocity v_(op) whichis the speed that the driller wishes to move travelling block 20 (andattached load e.g. drill string 24) up or down the derrick 16. Theoutput is subtracted in the drawworks controller 38 from the inputv_(op) to generate a set velocity v_(set) of the travelling block 20.The set velocity v_(set) may either be higher or lower than the desiredoperator velocity v_(op) depending on whether the operator velocityv_(op) is in the same direction as v_(rig) at that point in time.

The set velocity v_(set) signal is input to speed controller in thedrawworks controller 38. The function of the speed controller 39 is tocontrol the drawworks 30 to produce a travelling block motion that isclose to the set velocity v_(set). In applying the set velocity v_(set)it necessary to rely on the entire electrical and mechanical systems ofthe drawworks 30, including the speed controller, motor powerelectronics, electrical motors 31, gears, drum 29 and steel rope 26, aswell as the crown block 18 and travelling block 20. In FIG. 4 all ofthese items are referred to collectively as drive 54 which has atransfer function H. Ideally the transfer function H would be close tounity, but because of limitations in the speed controller 39 andmechanical inertia, the drive transfer function H often differssubstantially from unity.

The output from the drive 54 is an actual travelling block velocity vmeasured relative to the derrick 16 by sensors (not shown). If both ofthe transfer functions G and H are unity, v would either be zero orv_(op) independent of v_(rig).

The true rig velocity v_(rig) and the actual travelling block velocity vare summed to produce a global velocity v_(global) which indicates thetravelling block velocity in a fixed frame of reference, for example thesea bed. If the operator velocity v_(op) is zero then the globalvelocity v_(global) represents the compensation error v_(err) in theactual travelling block velocity v introduced by the transfer functionsG and H. From FIG. 4 it is possible to express v_(err) as:

v _(err) =v _(rig) +Hv _(op) −HGv _(rig)

and therefore the relative compensation error E when v_(op) is zero as:

$E = {\frac{v_{err}}{v_{rig}} = {1 - {HG}}}$

The relative compensation error will only reduce to zero when theproduct GH is unity. Since neither the drive response H nor the MRUresponse G are perfectly equal to unity, there will always be a finitecompensation error meaning that the vertical motion of the drilling rig16 will not be completely cancelled by the movement of the travellingblock 20.

It is possible to feedback a signal that is a function of the actualtravelling block velocity v, position or hook load although in theapplicant's experience this does not reduce the compensation errorsufficiently. In particular, one problem with such feedback is thatthere is no simple way to measure the error or the global motion of thetravelling block 20 accurately. If the string is fixed to bottom thevariable hook load represents an indirect measurement of the globaltravelling block position. This can be used in a slow outer feedbackloop, but will not help to improve short time compensation errorsignificantly.

In tackling the problem of further reducing this compensation error theapplicant realised that it is possible to compensate for the imperfecttransfer functions of the MRU 53 and drive 54, despite the complexity ofthis problem. A brief summary of the applicant's analysis of the driveresponse and MRU response is given below.

Drive Response

Referring to FIG. 6 a control diagram 60 shows how the transfer functionH of the drive 54 can be analysed. The speed controller 39 representsthe electronic parts of the drive (motor speed regulator, axisconversions from the linear block axis to the angular motor axis, andthe motor power electronics with current and torque controllers) and theother components represent the mechanical parts. As mentioned above theset velocity v_(set) is input to the speed controller 39; the actualtravelling block speed v is fed back to the speed controller 39. On thebasis of these two inputs the speed controller 39 determines a pullingforce F_(pull) required to implement the set velocity v_(set). Forcesacting against F_(pull) include friction forces F_(f) (in all mechanicalparts) and external forces F_(ext) due to the inertia of all of themoving parts, but particularly the load on the hook 22, motor inertia,drum inertia, and inertia of the steel rope 26 and sheaves. Accordinglythe summation circle represents the subtraction of F_(ext) and F_(f)from F_(pull) yielding a resultant force applied to the load under thetravelling block 20. By dividing the resultant force by the sum ofinertial mass M of the motor, drum 29, steel rope 26, sheaves,travelling block 20 and load 24, the travelling block acceleration andspeed v is set.

Before presenting the equation of motion in rotation axis coordinates itis worth mentioning that transformation from the motor axis to thelinear load axis (and vice versa) is straightforward when using thetransmission radius r

$r = \frac{r_{drum}}{n_{lines}n_{gear}}$

Here r_(drum) is the radius of drum 29, n_(lines) is the number of linesand n_(gear) is the motor to drum gear ratio (usually >>1). Linear loadvelocity v to angular motor speed Ω conversion is calculated by v=r·Ω,pull force F to motor torque conversion T by T=r·F and inertia mass M tomoment of inertia J_(m) conversion by J=r²·M. The torque and inertiamoment represent all synchronously running motors. The transmissionradius is dynamic and changes in small steps when the steel rope 26shifts from one drum layer to another.

The equation of motion for each electrical motor 31 of the drawworks 30is:

${J_{m}\frac{\Omega}{t}} = {T_{m} - T_{ext}}$

where J_(m) is the effective moment of inertia of the motor (includinggear, drum, lines, sheaves and load, Ω is the motor speed (in rad/s) andthe T_(m) and T_(ext) denote motor torque and motor load respectively.The speed controller 39 is assumed to be a standard PI controller. Themotor torque can be modelled as:

$T_{m} = {{P\left( {\Omega_{set} - \Omega} \right)} + {\frac{P}{t_{i}}{\int{\left( {\Omega_{set} - \Omega} \right){t}}}}}$

where P is the PI controller gain, Ω_(set) is the set point angularspeed of the motor speed, and t_(i) is the integral time of the PIcontroller. The Laplace transformed equation of motion is

${J_{m}\Omega \; s} = {{P\left( {1 + \frac{1}{t_{i}s}} \right)}\left( {\Omega_{set} - \Omega} \right)}$

By substituting a motor time constant t_(m)=J_(m)/P the drive transferfunction can be written as

$H = {\frac{\Omega}{\Omega_{set}} = {\frac{1 + {t_{i}s}}{1 + {t_{i}s} + {t_{m}t_{i}s^{2}}} = {1 - \frac{t_{i}^{2}s^{2}}{1 + {t_{i}s} + {t_{m}t_{i}s^{2}}}}}}$

Recalling that E=1−GH, this expression for H implies that if therelative compensation error E is to be as small as possible, theintegration time constant t_(i) should be as low as possible, whereasthe gain P of the PI controller should be as high as possible. Inpractice however, such speed control can lead to large torquefluctuations and even instabilities in the drawworks 30.

It is important for effective heave compensation correction that thedrive constants t_(m) and t_(i) are determined accurately. The lattercan either found directly from the drive configuration file or it can befound experimentally, for instance by locking the motors while sending asmall step speed command Ω_(step) to the speed controller. According tothe equation of motion above torque response will be a linearlyincreasing torque represented by

$T = {{P\; \Omega_{step}} + {\frac{P}{t_{i}}t}}$

The integration time constant is the time after which the resultanttorque has reached twice the initial step value, that isT(t_(i))=2PΩ_(step) and the P-factor of the controller is simply theratio of the torque step to the speed step: P=T(0)/Ω_(step). Finally,the controller or motor time constant can be found from t_(m)=P/M wherethe denominator represents the total effective inertia mass of thetravelling block 20 with line, sheaves, drum and motors. The mass isnormally dynamic and varies with travelling block position and theamount of steel rope 26 reeled onto the drum 29. If one or more inertiaterms are uncertain a test can be run to tune the inertia model. Such atest aims at measuring the ratio of motor torque to angularacceleration. This ratio is by definition equal to the effective motorinertia, which can be transformed to effective linear inertia, asexplained above.

FIG. 7 shows graphs of the effect of the transfer function H on theamplitude, phase and delay of the set velocity signal v_(set) againstheave (or wave) period. Two cases are illustrated: firstly when t_(i)=2s and t_(m)=0.73 s, and secondly when t_(i)=1 s and t_(m)=0.25 s. Thefirst case represents relatively “soft” speed control i.e. where thespeed controller responds comparatively slowly to the relativecompensation error E. The second case represents relatively “stiff”speed control i.e. where the speed controller responds comparativelyquickly to the relative compensation error E. It will be seen in thefirst case that for the typical range of heave period i.e. between about5 s and 16 s, soft speed control results in large delay and phase shiftin v_(set) at low heave periods. The stiff speed control results in areduced delay and phase shift for longer heave periods, but at theexpense of greater amplitude change and phase shift at shorter heaveperiods.

FIG. 8 shows the response of the drive 54 to an input unit stepfunction. In both cases of soft and stiff speed control, there is anovershoot 71 and 72 in the response function, although the stiffer speedcontrol returns to the correct level nearly three times more quicklythan the soft control.

Measurement Device Response

As described above the MRU has between one and three accelerometers formeasuring the vertical acceleration of the drilling rig 10. Optionally,angular gyros and magnetometers can be used to measure pitch, roll andyaw motion of the vessel. Electronics in each MRU subtracts the staticacceleration of gravity, following which the dynamic verticalacceleration is integrated once and twice to obtain dynamic velocity andposition respectively of the drilling rig 10. However, because ofimperfections in the raw accelerometer signal, such as offset errors andlow frequency noise, each integration step must be combined with a highpass filter for removing or damping the low frequency components.Accordingly a second order tuneable high pass filter is applied at eachintegration step. The MRU-5 supplied by Kongsberg-Seatex uses a standardsecond order Butterworth filter (called General Purpose (GP) filter) forthe first integration step. For the second step (from velocity toposition) there are two options: the GP filter and a so-calledHydrographic Survey (HS) filter. The Laplace representation of the twofilters is:

${G_{GP} = \frac{s^{2}}{s^{2} + {2ɛ\; \omega_{c}s} + \omega_{c}^{2}}};$and$G_{HS} = \frac{s^{2} + {4ɛ\; \omega_{c}s}}{s^{2} + {2{ɛ\omega}_{c}s} + \omega_{c}^{2}}$

where ω_(c)=2π/(10T_(h)) represents the selectable cut-off frequency ofthe filter and ε is the damping factor. The so-called heave period T_(h)is a configuration parameter that can be selected and set by the user tobetween 2 s and 25 s. This is adjusted according to the dominant heaveperiod either measured or expected for a particular rig in a particularlocation. Referring to FIG. 9 the transfer functions (magnitude andphase) for the velocity filter (G) and the combined position filter(G_(GP)G_(HS)) are shown versus the wave period (T=2πi/s, where i=√−1)for the case when T_(h)=10 s and ε=0.7. From this figure it is seen thatthe GP filter has very small amplitude distortion but a significant leadphase shift for medium-long heave periods (one to three times the filtersetting period). In contrast, the HS option of the position filter has avery small phase shift but a significant amplitude distortion in thesame frequency band.

The main drawbacks of this lead phase error of the velocity signal arepoor compensation accuracy and risk of instabilities. Instability meansthat the vessel starts to oscillate with growing amplitude at one of itsnatural frequencies. This phenomenon has been observed with asemi-submersible rig having the derrick and well centre between the aftrig legs, thus some distance from the centre of gravity. Growingoscillations have been observed both in the heave mode (natural period˜19 s) and in the pitch mode (natural period ˜0.45 s). The applicant hasdiscovered that the observed instabilities are caused by a combinationof a significant lead phase error in the MRU velocity signal, highmechanical stiffness of the coupling load (e.g. a heavy fixed-to-bottomriser) and high vessel mobility. The lead phase error introduces anegative damping mechanism that feeds energy into the oscillator systemcomprising the vessel and its hydrodynamic stiffness. When the negativedamping exceeds the natural hydrodynamic damping of the vessel, a smallamplitude will start to grow exponentially. Semi-submersible rigs aremore susceptible to this problem than drill ships because of therelatively small water plane area, the low hydrodynamic damping and thecorrespondingly high mobility at the natural periods.

Pitch or roll instabilities can occur only on rigs having the wellcentre far away from the centre of gravity.

It is to be noted that the observed instabilities were substantiallyreduced when the lead phase errors were corrected as described below.Accordingly correction of errors introduced by the vessel motionmeasurement device should be done carefully to ensure that the leadphase error at the natural rig period is substantially (and ideallycompletely) cancelled.

In addition to the high-pass filters, the MRU-5 applies various types oflow-pass filters for reducing high frequency noise in the signals (e.g.from vessel structure vibration, etc.). One of these filters is atuneable vibration filter, which is a second order Butterworth low-passfilter. It is applied to the acceleration signals and to the angulargyroscope signals and the same kind of filter is applied to both. Theupper cut-off frequency f_(vib) is 3 Hz for the acceleration signalfilter, while it is 10 Hz for the gyroscope signal filter. The vibrationfilter is not applied to the velocity signal, which is processed fromthe raw acceleration signal.

Independently of the vibration filter settings, the angular rate signalsfrom the gyros are also by filtered by a moving average filter over afixed window. This filter represents a delay time of typically 0.05 sand a correspondingly small lag phase distortion of the velocitycomponents derived from the roll and pitch signals. Unless the MRU isplaced far away from the well centre, these components are relativelysmall; consequently, the vibration filters will not have any practicalinfluence on stability.

Error Function

Knowing the two transfer functions H and G, it is possible evaluate therelative compensation error E=1−HG as a function of heave period.Reference is made to FIG. 10 showing magnitude and phase versus heaveperiod for all three functions. In this particular case the drive timeconstants are set as t_(i)=0.5 s and t_(m)=0.25 s (i.e. a relativelystiff speed controller), and ε=0.7 and T_(h)=10 s for the MRU filter.The magnitude of the error function has a minimum of −18 dB at a periodof 8 s and it increases as the period diverges from this value. Even atthe minimum value, which corresponds to an error of 13%, thecompensation is not particularly good. The correction methods describedbelow will dramatically improve the compensation accuracy.

Corrected Heave Compensation

Referring to FIG. 11 a control diagram 130 shows how a correctiontransfer function C can be applied at correction block 131 to compensatefor the errors introduced by the MRU 53 and drive 54. Applying thecorrection transfer function results in the relative compensation errorbecoming:

E=1−CGH

and therefore that E=0 when

$C = {\frac{1}{G} \cdot \frac{1}{H}}$

Substituting the expressions for G and H derived above leads to a verycomplicated function that can be difficult to implement in practice.However, the function can be simplified as explained below.

MRU Filter Correction

Assuming that G is equal to the second order Butterworth high passfilter discussed above, the MRU correction filter can be approximatedas:

$\frac{1}{G_{GP}} = {\frac{\omega_{c}^{2} + {2{ɛ\omega}_{c}s} + s^{2}}{s^{2}} \approx {1 + \frac{2{ɛ\omega}_{c}}{s}}}$

This approximation is valid when ω_(c)<<|s|, that is when the actualheave period of the vessel is much lower than the filter cut-off period2π/ω_(c). Since the inverse Laplace variable 1/s represents integrationfrom velocity to position in the time domain, the velocity correctionterm v_(G) required to reduce the lead phase error of the MRU signal is:

v_(G)=2εω_(c)p_(mru)

where p_(mru) is the position signal. The position signal to be used inthis correction formula should preferably be the hydrographic surveysignal estimated within the MRU-5, but it could also be calculated fromthe speed signal. In the latter case the time integration must becombined with a high pass filter.

Drive Correction

Regarding the transfer function for the drive 54 and making theassumptions above, its inverse can be written as:

$\frac{1}{H} = {\frac{1 + {t_{i}s} + {t_{m}t_{i}s^{2}}}{1 + {t_{i}s}} = {1 + {t_{m}\frac{t_{i}s}{1 + {t_{i}s}}s}}}$

where the term, t_(i)s/(1+t_(i)s) represents a first order high passfilter with time constant t_(i) or, equivalently, with an angularcut-off frequency equal to 1/t_(i). Because the s factor representsdifferentiation in the time domain, the speed correction term v_(H)needed to eliminate the effect of a non-perfect drive response is:

v_(H)=t_(m)F_(hp){a_(mru)}

where F_(hp){α_(mru)} denotes the first order high-pass filtered valueof the acceleration measured by the MRU. In contrast to the relativemagnitude of v_(G) which increases proportionally to the heave period(T=2π/|s|), the drive correction term v_(H) decreases rapidly withincreasing heave period. The latter is therefore most important forshort heave periods (typically T<<10 s) when the inertia forces are highand the drive fails to follow the set speed accurately. The importanceof the drive correction v_(H), is also greater for soft speedcontrollers (having long time constant t_(i)) than for stiff ones.

The effect of applying both MRU and drive corrections is shown in FIG.12. In this case the combined compensation function is approximately

$C \approx {1 + \frac{2{ɛ\omega}_{c}G_{p}}{s} + {t_{m}\frac{t_{i}s}{1 + {t_{i}s}}H_{vib}s}}$

This formula represents an approximation of the ideal correctionfunction, because both the second order MRU correction term and thecross terms arising when multiplying out the product of 1/G and 1/H havebeen neglected. However, the omitted terms are much smaller than theleading correction terms and can therefore be neglected. The MRUposition filter function G_(P)=G_(GP)G_(HS) and the vibration filterH_(vib) (with 3 Hz cut-off frequency) are included in the respectivecorrection terms to account for the fact that MRU position andacceleration signal are filtered versions of the true variables. Asalready mentioned, the MRU-5 acceleration signal is a low pass filteredversion of the raw acceleration. H_(vib) here represents a 2^(nd) orderButterworth filter with damping ε=0.7 and a selectable cut-offfrequency. An explicit expression for the transfer function of thisvibration filter is H_(vib)=1/(1+1.4 s/(2πf_(vib))+s²/(2πf_(vib))²)where the cut-off vibration frequency f_(vib)=3 Hz. The same parametersas used above are used in this example. It is to be noted that the errorfunction is very much reduced over a wide range of wave periods, meaningthat the proposed compensation methods have excellent potential forimproving heave compensation accuracy.

Friction

So far friction has been neglected. In practice there are substantialfriction losses, especially in the gear and in the sheaves. Thisfriction is not purely linear and it can therefore not be accuratelyrepresented as an extra term in the drive response function.

A fairly simple but general model for the total friction force F_(f)consists of a Coulomb friction term (that is constant but changes signon change in direction of travelling block 20) and a linear term beingproportional to the travelling block speed. The mathematical formulationfor such a friction model is:

F _(f)=−(1 −η^(sign(v)))F _(hl) −d·ν

where η is the total efficiency including losses in gear transmissionand in the reeving system (sheaves), F_(hl) is the hook load force and dis a damping coefficient (with a default value of zero) and sign(v) isthe signum function (1 for positive arguments, 0 if the argument is zeroand −1 for negative arguments). These friction parameters can bedetermined theoretically or experimentally from dedicated tests (seebelow).

By substituting friction acceleration a_(f)=F_(f)/M , where M is thetotal mass of the parts producing the friction force, the frictioncorrection speed v_(F) for reducing errors due to friction is:

v _(F) =−t _(m) F _(hp) {a _(f)}

where F_(hp){a_(f)} is a first order high-pass filter with filter timeconstant equal to the speed controller integration time constant t_(i)in order to produce a motor pull force matching the extra load fromfriction losses.

As mentioned above the drawworks efficiency η can be determinedexperimentally by hoisting and lowering a hook load and measuring thecorresponding motor torque values. The efficiency can then be found from

$\eta = \sqrt{\frac{T_{m \downarrow}}{T_{m \uparrow}}}$

where T_(m↓) and T_(m↑) represent the motor torque measured duringslack-off and hoisting, respectively.

The expected value for the drawworks efficiency depends on the number oflines 26 and also on the line to sheave diameter ratio. A typical valuewith 14 lines is η=0.89 (from a single sheave efficiency of 0.99 and agear efficiency of 0.97). However, the measured efficiency tends to belower at low hook loads because some of the friction losses are constantand independent of load. Therefore, the test should be carried out withsome weight in the hook, typically about 100 tons.

Alternatively the drawworks efficiency can be calculated theoreticallyfrom gear efficiency η_(gear), single sheave efficiency η_(s) and thenumber of lines n, by

$\eta = {\eta_{gear}\frac{\eta_{s}^{2}\left( {\eta_{s}^{n} - 1} \right)}{\left( {\eta_{s} - 1} \right)n}}$

This efficiency is relatively insensitive to the number of lines,meaning that the error by using the same drawworks efficiency for twelveand fourteen lines is roughly 1%, and therefore not a great concern.

The drive and friction corrections presented above represent an indirectmethod where the set value for the speed controller 39 is adjusted tocompensate for the expected motion these forces (M_(a)+F_(f)) willimpose on the travelling block 20. An alternative method is to calculatethe equivalent motor torque components of the forces and add thesecomponents directly to the normal output (torque) of the speedcontroller 39. However, this feed-forward method is only possible forspeed controllers prepared for this kind of additional torque control(which are commercially available). The advantage of this feed-forwardis that it does not rely on accurate estimation of the drive constants.The main disadvantage is complexity through sending an extra signal tothe speed controller.

Delay

Although the delay τ had been assumed to be zero for the purposes of thedrive and MRU corrections, experimentation by the applicant has revealedthat there is a significant time delay (˜0.1 s) in drive response due tosignal transfer time delay rather than from softness of the speedcontroller 39. To correct for this delay a delay velocity correctionv_(delay) should be added to the MRU signal, determined as follows

v _(delay) =t _(delay) HP(a _(rig))

where t_(delay) is the transfer time delay of signals in the drive(default value is 0.1 s) and HP{a_(rig)} is a first order high passfilter. The high pass filter has two functions: firstly it removes anyresidual DC component in the acceleration signal, and secondly itcreates a desirable phase shift that substantially removes the phase lagfrom the MRU vibration filter. As mentioned above the vibration filteris a second order low pass Butterworth filter with a damping factor ofε=0.7. Therefore the optimal time constant for the high pass filter is:

$t_{{hp},{delay}} = \frac{T_{h}^{2}f_{vib}}{1.4{.2}\; \pi}$

where T_(c) is the most dominant rig heave period in the deploymentlocation of the vessel 10 (a typical value is T_(h)=10 s).

In summary, the correction block 131 adjusts the original MRU speedsignal v_(mru) to generate a corrected version v_(mruCorr) as follows:

v _(mruCorr) =v _(mru) v _(G) v _(H) v _(F) v _(delay)

The corrected velocity v_(mruCorr) is then integrated in the MRUcontroller 42 to output a motion control signal for the travelling block20 that substantially compensates for the actual vessel heave and makesthe true global travelling block position follow the speed command fromthe operator more closely.

Position Correction

When the corrected MRU velocity signal (plus optional corrections) isintegrated numerically in the MRU controller 42, the resulting positionsignal p_(corr) can be subtracted from the raw position signal p_(mru)from the MRUs 44 in a feedback loop. Experience has shown that thisdifference will generally not go to zero but drift slowly or approach anarbitrary position. It is believed that this is caused by roundingerrors and finite computing accuracies, both in the MRU and in the PLC.This means that when the drilling rig 10 returns to a previous position,the travelling block 20 may not be in the same position on the derrick16 as it was when the rig was at that position previously. To avoid thisproblem, the raw velocity signal from the MRUs 44 can be corrected by aposition velocity correction signal v_(pos) which is the low passfiltered value of the difference between the velocity of the rigdetermined from the position signal, i.e. {dot over (p)}_(mru) and thecorrected velocity v_(mruCorr) as determined above, i.e.

v _(pos) =LP({dot over (p)} _(mru) −v _(mruCorr))

Here the low pass filter is very slow with a time constant of severalminutes, because

∫(v _(mruCorr) +v _(pos))dt≈LP(p _(mru))

This correction will inhibit drift and cause the position of thetravelling block 20 to oscillate around the mean value of the MRUposition. It is recommended to use the output “LAPosMonD” (i.e. thelever arm corrected position signal in the vertical axis) for the rigposition signal, because this contains that static component of roll andpitch.

The position correction velocity v_(pos) is added to v_(mruCorr),although it is important that this correction is applied after all thepreceding corrections as the drift problem can arise from the correctionterms themselves.

Switch Module

Referring again to FIG. 11 a software switch 132 is used to switch heavecompensation on and off, preferably in a smooth fashion to avoid abrupttransient motions. The applicant has tried a method of multiplying theMRU speed signal by a factor varying linearly from zero to unity(fade-in) or vice versa (fade-out). The drawback with this method isthat the mean position of the travelling block 20 on the derrick 16 willnot remain constant but be shifted by an amount depending on the starttime (relative to the maximum heave position of the vessel) and onfade-in time interval. This is undesirable as is can result in atranslation of the entire drill string 24 for example.

The aim is to fade-in or fade-out the heave compensation so that thetravelling block position h_(ahc) follows the MRU heave position signalin a gradually increasing amount, that is

h _(ahc) =S·p _(mru)

where S is a time dependent soft switch function varying between zero(no compensation) to unity (full compensation), and p_(mru) is theposition signal output from the MRU. The general active heavecompensation signal to be added to the operator speed during fade-in andfade-out is, in terms of velocity

v _(ahc) =S·{dot over (p)} _(mru) +{dot over (S)}·p _(mru) ≈S·v_(mruCorr) +{dot over (S)}·p _(mru)

where {dot over (S)} denotes the time derivative of S. One advantage ofproviding a velocity correction in this way is that there will besubstantially no translation of the travelling block 20 away from itsmean position during fade-in and fade-out. One example of a suitablesoft switch function is

$S = \frac{1 - {\cos \left( {\pi \; x} \right)}}{2}$

where x is a linearly varying coupling parameter limited between zeroand unity. Explicitly,

x=max(0,min(∫(σ/t _(fade))dt,1))

where t_(fade) is the fade-in and fade-out time and σ=1 for fade-in andσ=−1 for fade-out. This soft switch function has the followingfeatures: 1) it varies continuously, 2) its time derivative also variescontinuously without steps and 3) the time derivative vanishes at theend points, that is when x approaches zero or unity.

There are many soft switch functions satisfying the above features.Another example is S=1/2+(2x−1)·(1−|x−1/2|) where x is as defined above.Such soft-switch functions are valid not only during fade-in and fadeout, but also whilst the active heave compensation is fully on or off.Therefore the function can be applied continuously.

Limiting Module

Referring to FIG. 11 a limiting module 133 follows the subtraction ofthe active heave compensation signal v_(ahc) from the operator setvelocity v_(op). As the motion of the drilling rig 10 due to heaveincreases, the demands on the drive 54 to achieve complete compensationincreases accordingly. Sooner or later the drive 54 will reach one ofits limitations: force, power, speed, and/or acceleration.

The most common force limitation is brake margin limitation. Brakemargin is defined as the difference between maximum motor pull force andexternal load. If this margin becomes too small the drawworks 30 cannotstop a downwards motion within the maximum allowable stopping distance(e.g. 3 m), for example when lowering a load toward the seabed, orlowering a drill string into a well bore. For safety reasons, it istherefore important to limit the downwards speed to safe level.

Electrical power limitations, be it in the drive 54 or externally in thedrilling rig generators or grid system, also causes limitations in themechanical power available i.e. the product of force and velocity. Powerlimitations can be positive or negative. The latter, which denoteslimitations in the generative power flowing from the electrical motors31 back to the drive controller, affects safety because it causes thebrake margin to drop quickly with increasing downwards speeds. Powerlimitations can therefore be regarded as a dynamic speed or forcelimitation because the force limit drops with increasing speed. If thedownward velocity exceeds the critical value at which motor pullcapacity balances the external load (zero brake margin) the powerlimitation will make the brake margin negative and cause an unstable,free fall situation, which is extremely dangerous.

The speed limitation means that the travelling block speed cannot exceedspeed limits defined by the rated motor speed (typically 2300 rpm forelectrical motors) or other external speed limitations, such as drumspeed limitation or load velocity limitation. For example, if the loadis a drill string in an open well, too high a string speed can causedynamic pressures that can cause damage to the well bore.

Both mechanical force and electrical power limitations indirectly limitthe maximum or minimum acceleration of the drive 54. In addition, slackin steel rope 26 can impose a negative acceleration limit (i.e.downwards acceleration or deceleration of upward motion) which can causethe line near the drum 29 to lose tension resulting in tangling of thespooled line. This phenomenon, which is often called “bird nesting”,must be avoided because it can block further spooling and cause seriousdamage to the drill string 24. The line slack acceleration limit isproportional to the external hook load and can be expressed bya_(slack)=−F_(ext)/M_(sl) where M_(sl) represents the inertia mass ofthe lines and sheave. It can either be calculated theoretically or (moreeasily) experimentally as the ratio −F_(ext)/a_(slack) for which thefast line almost looses tension. The theoretical inertia mass can befound from the energy equation

${0.5\; M_{sl}v^{2}} = {{\sum\limits_{j}\; {0.5\; J_{i}\Omega_{i}^{2}}} + {\sum\limits_{j}\; {0.5\; m\; l_{j}v_{j}^{2}}}}$

where J_(i), Ω_(i) and 0.5 J_(i)Ω_(i) ² are respectively inertia moment,angular speed and rotation energy of the ith sheave; and m, l_(j), v_(j)and 0.5 ml_(j)v_(j) ² represent mass per unit length, length, speed andtranslation energy of the jth segment of the drill line 26,respectively. The entire effective inertia mass M can then be found byadding also the rotational energy for the drum and motors and using thetransmission radius defined above:M=M_(sl)+(J_(motors)+J_(drum)/n_(gear) ²)/r².

These acceleration limits impose restrictions in two ways. Firstly, theylimit the speed indirectly so that the load or travelling block 20 canstop safely within constant or dynamic position limits Secondly, theyplace limits on the speed increments of the signal sent to the drivecontroller.

The torque, power and acceleration limitations above can be treated as acommon speed limitation ensuring that the stop length does not exceedthe available or specified maximum value. Because the motor pull forcevaries with speed, it is not possible to give explicit expression forthis speed limit Instead, the limits (both negative and positive can becalculated as described in the algorithm described in appendix D. Forsimplicity, the algorithm is written for the case when the block/load ismoving downwards. A similar but slightly different algorithm applieswhen the block is hoisted; the main differences are that 1) the speed isstepped in positive direction to find the stopping length upwards and 2)the external load acts in the opposite direction to the block motion. SIunits are assumed for all variables in the algorithm.

It is important to apply the limiting module 133 after summation of theoperator and active heave compensation speeds, because it is theresulting set speed v_(set) that must be limited to avoid theaforementioned hazardous situations. When the limiting module 133 isactive, the speed signal v_(set) is reduced or clipped some portion oftime. Very often it clips the signal asymmetrically. For instance, highloads and/or low regenerative power limits will causes the negativespeed peaks to be clipped, not the positive ones. However, thisasymmetric clipping causes the mean position of the travelling block 20to move upwards along the derrick 16 by a distance proportional to theamount of clipping. This motion is normally very undesirable. Toovercome this problem the limiting module 133 has a clippingcompensation function. It has been found that a simple but effectivefunction is able to solve this problem. In particular, the followingposition error feed-back function is used to determine a correctivespeed v_(p) to be added to the input speed (v_(set)) of the limitingmodule 133:

v _(p)=ω_(pf)∫(v _(set) +v _(p) −v _(out))dt

where ω_(pf) is a small feed-back constant (typically 0.1 s⁻¹ or less),v_(set) is the input set speed and v_(out) is the clipped output valuefrom the limitation module. As an example, if the downwards speed isclipped, the integrand and v_(p) become negative, meaning that the netupwards motion due to clipping is stopped and stabilized. FIG. 12 ashows a simulation example where the downwards acceleration is activelylimited. This limitation causes the sinusoidal speed to be clipped,mostly on the negative side of the speed curve. If this clipping erroris not compensated for, the travelling block 20 will start to moveupwards as visualised by the dashed position curve in the lower graph.With a clipping compensation this motion is limited.

A major advantage of the limiting module 133 is that it does not turnoff the active heave compensation as some prior systems do if one ormore of the limitations are reached or exceeded. Heave compensation isoften applied when the string is attached to a fixed point to the seabed. It is therefore much better to temporarily skip the accuracy goalsand obtain a partial compensation, than turning off the heavecompensation completely.

Algorithms

Referring to Appendices B, C and D algorithms are shown for implementingthe various corrections described above. The algorithms are designed tobe implemented entirely in software and stored as a set of computerexecutable instructions in the memory 43 accessible by the PLC of thedrawworks controller 38. In this way the PLC may act on the inputsignals from the MRUs 44 and from the operator to provide the finalcorrected velocity v_(set) for the drive 54 that will achieve thedesired travelling block velocity v. It is to be noted that the symbol“=” used in the formulae in Appendices B, C and D means assignment. Whenthe same variable appears on both sides of an assignment, the right handparameter represents the previous value while the left hand parameterrepresents the updated one.

Correction Module

At step BS1 the drawworks controller 38 reads, sets or calculates thelist parameters and variables shown and holds them in memory. At stepBS2 the speed correction term v_(G) is determined using the heave signalfrom the MRU 44 and the result stored in memory. As explained abovethree MRUs are used to provide redundancy and to check for errors. Eachraw signal from each MRU (acceleration, velocity and position) issampled by the PLC every clock cycle (time Δt). The values are comparedand are averaged if within an acceptable tolerance (typically ±0.05 m/sfor the velocity signal). If one of the signals is outside the toleranceit is discarded and not used in the average calculation.

At step BS3 the corrections for the drive response are applied to theraw signals from the MRUs.

The raw acceleration signal a_(mru) is passed through a low-pass filterwith a time constant of t_(i) i.e. the speed controller integration timeconstant. In order to obtain the high-pass filtered value of theacceleration signal as required by v_(H)=t_(m)F_(hp){a_(mru)} thelow-pass filtered signal is subtracted from the raw acceleration signalrepresenting movement of the drilling rig 10. The speed correction termv_(H) is then calculated by multiplication with the motor time constantt_(m) of the speed controller 39 and the result stored in memory.

At step BS4 the friction correction speed v_(F), is determined using theformula described above. The friction acceleration is then determined:

$a_{f} = \frac{F_{f}}{M}$

where M is the total inertial mass in kilograms of the drive 54. Thefunction a_(f) therefore varies with measured travelling block speed vand measured hook load F_(ext). If the drilling rig 10 is in motion as aresult of sea swell, the acceleration function a_(f) is an oscillatoryfunction similar to a square wave.

The acceleration function value is passed through a low pass filter witha time constant t_(i) i.e. the integration time constant of the PIcontroller. The filtered value is then subtracted from the originalvalue to provide a high pass filtered value a_(f,hp) which is used todetermine the friction correction speed of v_(f)

v_(f)=t_(m)a_(f,hp)

and the result stored in memory.

At step BS5 the delay correction speed V_(delay) is determined byfiltering the raw acceleration value from the MRUs 44 with a low-passfilter with time constant of t_(hp,delay) and the resulting valuesubtracted from the raw acceleration value to generate a high-passfiltered acceleration value a_(hp). This value is then used to determinethe delay correction speed V_(delay)

v_(delay)=t_(delay)a_(hp)

Having calculated all of the velocity corrections, the PLC is able toapply them to the average of the raw velocity signals v_(mru) from theMRUs at step BS6. Firstly the AHC velocity v_(ahc) is set in memory tothe v_(mru) value. The operator is able to select which of the variouscorrections for the MRUs, drive, friction and delay are applied(although usually all corrections are applied). Accordingly a check ismade by the PLC before applying each velocity correction valuecalculated above. Assuming all are applied the new corrected velocityv_(mruCorr) is calculated as

v _(mruCorr) =v _(mru) +v _(H) +v _(G) +v _(f) +v _(delay)

and the result stored in memory. Optional position correction at stepBS7 ensures that the integral of corrected heave compensation speedv_(mruCorr) matches the mean value of the MRU position signal, asexplained above.

Soft Switch Module

Referring to Appendix C the algorithm for the soft switch module isshown. At step CS1 the drawworks controller 38 reads, sets or calculatesthe list parameters and variables shown and holds them in memory.

At step CS2 the switch module 132 determines if active heavecompensation (AHC) is on or off. There are four possibilities:

(1) AHC is on and is past the fade-in period;

(2) AHC is on and in the fade-in period;

(3) AHC is off and past the fade-out period; or

(4) AHC is off and in the fade-out period.

Whether or not AHC is on or off is determined by a signal from theoperator. If AHC is on a direction parameter s is set s=1, whereas ifAHC is off s is set s=−1. The direction parameter determines which ofthe four states above is current. A soft switch parameter x is setinitially as x=0 and is subsequently determined as:

$x = {\frac{s\; \Delta \; t}{t_{fade}} + x}$

where Δt is the PLC clock frequency (usually between about 20 ms and 50ms) and t_(fade) is the desired fade-in/out time (default is 10 s). Thusx either increases or decreases in increments of Δt/t_(fade) dependingon the value of s. The clipping function x=max(0, min(x,1)) means thatif x goes below 0 it is reset to 0, whilst if it goes above 1 it isreset to 1.

The suggested trigonometric soft switch factor S=(1−cos πx)/2 is thendetermined and its time derivative S_(dot) is determined from numericaltime differentiation of S.

The resulting active heave speed signal is then determined as:

v _(ahc) =s*v _(mruCorr) S _(dot) p _(mru)

The soft switch function is always applied to the velocity signal forthe travelling block 20. One advantage of this is that full, partial(fade-in or fade-out) or zero active heave compensation is achievedsimply by controlling the direction parameter s.

The algorithm above is repeated every clock cycle of the PLC (usuallyabout every 20-50 ms) so that v_(set) is substantially continuouslyadjusted while active heave compensation is on.

Limiting Module

Referring to Appendix D the algorithm for the limiting module 133 isshown. It will be recalled that this algorithm applies to downwardsmotion of the travelling block 20 only (remembering that downwardsmotion is defined as negative herein). At step DS1 the drawworkscontroller 38 reads, sets or calculates the parameters and variablesshown and holds them in memory. The input parameters are determined asfollows:

-   -   a_(ramp)=Ω_(max)*r/t_(ramp) where Ω_(max) is maximum motor speed        (in rad/s), r is the transmission radius (defined earlier) and        t_(ramp) is the ramp time, typically 2 s or longer.    -   F_(mMax)=n_(m)*T_(mMax)/r where n_(m) is the number of active        motors and T_(mMax) is maximum torque per motor.    -   h_(min)=max(h_(min0), h−L_(stop)) where h_(min0) is an absolute        minimum block position (typical 0.5 m) and L_(stop) is a maximum        stop length (typically 3 m).    -   M and M_(sl) are either constants determined experimentally or        they are calculated theoretically as explained earlier.    -   P_(min) and P_(max) are either constants (matching the setup of        the drives) or they are read externally from the vessel power        management system.    -   V_(mMin)=−Ω_(max)*r.    -   Δv_(std) is set to a constant, typically 0.1 m/s or lower. Low        values favour accuracy but increase computing time.    -   Δt is the cycle time of the PLC program, dependent on the total        computing load of the PLC. Typical values are in the range of        0.01 to 0.1 s.    -   ω_(clip) is a constant typically set to 0.1 s⁻¹.

At step DS2 three integration variables are initialised as shown: speedv_(old), accumulated stop length L_(acc) and speed increment Δv(typically 0.1 ms⁻¹).

The purpose of steps DS3 and DS4 is to determine a minimum speed (i.e.maximum in a downwards sense) for the travelling block 20 at which thepull force available from the drawworks exceeds the force F_(ext)exerted by the hook load. At step DS3 the minimum speed limit v_(min) isset as v_(old)−Δv. At step DS4 the maximum motor pull F_(max) isselected as the minimum of the motor pull force limit F_(mMax) and theforce available from the regenerative power limit P_(min) and thecurrent minimum speed limit v_(min). If the net pull margin (defined asF_(max)−F_(ext)) is less than zero the speed increment is halved and thealgorithm returns to step DS3. In this way minimum speed is graduallyincreased toward zero (i.e. downward velocity is reduced) until the netpull margin is greater than zero to ensure that there is some margin forstopping movement of the load. Only when the pull margin is greater thanzero does the algorithm proceed to the next step.

At step DS5 the acceleration capacity of the motors is calculated andthe maximum acceleration a_(max) set to the minimum of the motorcapacity and the acceleration limit a_(ramp) imposed by the operator orset by the drive. At step DS6 the incremental change ΔL in the stoplength caused by the change in v_(min) is determined. The total stoplength is then adjusted by adding ΔL to the stop length L_(acc) and thenew value compared to the distance between the travelling block 20 and alower stop position. If the total stop length is not greater than thisdistance then the velocity v_(old) is set to v_(min) and the algorithmreturns to step DS3 where v_(min) is incremented by Δv and the algorithmrepeated until the total available stop length is reached; when thisoccurs the algorithm proceeds to the next step.

In this way the magnitude of v_(min) is gradually increased until theavailable stop length is reached. At that point there are two values: afirst value (e.g. −1.4 ms⁻¹ where the stop length is not reached and asecond value (e.g. −1.5 ms⁻¹) where the available stop length has beenexceeded. It is then necessary to interpolate between these two valuesto find the speed closest to the available stop length. This isperformed in step DS7 where the v_(min) is gradually increased from thefirst value until the available stop length is reached.

At step DS8 v_(min) is selected as the maximum (i.e. closest to zero andtherefore smallest magnitude) of the current value of v_(min) and therated velocity of the drive V_(rated). At step DS9 the minimum (i.e.greatest magnitude) motor force is selected from the motor push forcelimit F_(mMin) and the force available dependent on the motoring powerlimit P_(max) and the current value of v_(min). The net downwards pushforce F_(min) is then determined from the selected value and the forceexerted by the load F_(ext).

A motor based acceleration limit a_(motors) is then determined at stepDS10 using F_(min) and the total inertia mass M. A line slackacceleration limit a_(slack) is determined in the next step using theforce exerted by the hook load F_(ext) and the inertial mass of thedrill line and sheaves. The most restrictive value of these accelerationlimits and a_(ramp) is then selected and set as a_(min) to ensure thatnone of these acceleration limits are exceeded.

At step DS11 a range for the set speed v_(set) is then determined on thebasis of the maximum and minimum acceleration capacities of the driveand the current value of v_(min) The set speed v_(set) is then adjustedfor clipping (described in greater detail below). Finally the limitedspeed v_(lim) that the drawworks 30 is instructed to use is selected bycomparing the set speed firstly with the maximum allowable speed(determined from the maximum acceleration capacity), and selecting thelower value, and then comparing the result with the minimum allowablespeed (determined from the minimum acceleration capacity) and selectingthe maximum value. In this way the limited speed is set to v_(set) if itfalls within the allowable range, otherwise it is set to either themaximum or minimum allowable speed. In this way a safety limit is put onthe operation of the drawworks 30 however controlled by the operatorand/or active heave compensation.

Since the limiting module 133 may clip the operator set speed, which isa combination of the operator speed and the heave compensation speed,this will result in a position error of the travelling block 20. At stepDS12 the position error is determined based on the difference betweenthe set speed and the limited speed, and a clip correction velocityv_(clip) is determined as a fraction of the position error. This clippedvelocity is used in the next iteration of the algorithm at step DS11 tocompensate the set speed. The set speed must still remain within thelimits as described above however.

It is to be noted that each of the algorithms can be used independentlyof the others. For example, equipment may be provided that incorporatesthe functionality of any one of the algorithms.

Measurements

Referring to FIG. 13 a graph 140 shows rig heave and rig accelerationversus time, whereas another graph 141 shows the frequency spectrum ofthe acceleration signal in graph 140. The data was recorded on thedrillship Deepwater Frontier on 10 Oct. 2001. The rig acceleration 142and the rig heave 143 are the outputs PosMonD and AccMonD from an MRU-5,i.e. position and acceleration signals in the vertical axis respectively(positive acceleration upwards). It will be noted that the accelerationsignal 142 has a frequency of about 0.1 Hz and that noise issuperimposed on the trace. Furthermore it can be seen from graph 141that noise in the acceleration signal is almost constant from about 1 Hzup to 4.5 Hz (which is the Nyquist frequency for these measurements).This indicates that the cut-off frequency in the MRU vibration filter isset too high. Furthermore the low frequency noise (<0.03 Hz) could be analiasing effect from the sampling frequency of 9 Hz

Referring to FIG. 14 a graph 160 shows how rig heave varies over a twominute period, and a graph 161 shows how heave velocity varies over thesame time. The graphs 160 and 161 were generated using to MRU-5s(configured in the same way) and therefore each graph has two traces. Itis clear from the two traces on each graph that the outputs from eachMRU are not identical.

Simulation Results

A Simulink model was created to study the drawworks dynamics and theeffects of the heave compensation corrections suggested above. The modelhas the following features:

-   -   The rig motion is modelled by a pure sinusoidal motion or by        real recorded rig heave data.    -   The rig mobility, which describes how much the rig responds to        hook load variations, is neglected in this model.    -   The MRU is modelled with the filters described above (when        recorded MRU signals are used as inputs the simulations, inverse        filters are applied for estimating the real rig motion).    -   The motor speed controller is a PI-controller with anti-windup.        The small delay in the current (torque) controller is neglected.        Different values for the gain P and the integration time        constant t_(i) are used.    -   The motor torque limit is speed dependent and closely follows        the torque limits given by the motor manufacturer (General        Electric).    -   The gear is assumed to be infinitely stiff so that motors and        drum are regarded as one lumped inertia element. The        transmission loss in the gear(s) is included in the model.    -   The effective drum inertia is dynamic and takes into account the        variable length of line wrapped onto it.    -   The drum radius is also a variable function that varies stepwise        (with a climbing transition angle of 0.5 rad).    -   The line and sheaves are modelled as a series of mass and        springs where the inertia and elasticity of the line are        variable functions of the distance between the blocks.    -   The sheave friction for each individual sheave is modelled by a        speed dependent efficiency factor η₀ ^(v/)√{square root over        (^(v) ² ^(+v) ⁰ ² )} where η₀=1−0.35d_(line)/D_(sheave) and        v_(o) is a small transition speed.    -   The block is modelled as a lumped mass while the string can        either be modelled as a lumped mass or as a transmission line        (with a distributed series of mass and springs). In this study        of heave compensation, the former and simpler option is        selected.

Simulation results with and without error corrections are shown forvarious wave periods in FIGS. 15 to 24. All simulations, except the lasttwo, are carried out without clipping feedback. The following data areused for the simulations

-   -   MRU AC filter: General purpose, period =20 s, damping =0.7    -   MRU vibration filter: cut-off frequency=3 Hz, damping =0.7    -   Soft (slow) speed controller: Integration time=0.7 s, motor time        constant =0.66 s    -   Stiff (quick) speed controller: Integration time=0.5 s, motor        time constant =0.15 s    -   Drawworks linear damping =0

The configuration of the simulation is shown in Table 1 below.

TABLE 1 Figure Configuration FIG. 15 Simulation of active heavecompensation (period = 10 s, amplitude = 1.5 m) with a slow speedcontroller and with no corrections FIG. 16 Simulation of active heavecompensation (period = 10 s, amplitude = 1.5 m) with a slow speedcontroller and with corrections for MRU filters, drive response andfriction FIG. 17 Simulation of active heave compensation (period = 10 s,amplitude = 1.5 m) with a slow speed controller and with corrections forMRU filters and drive response, but not for friction FIG. 18 Simulationof active heave compensation (period = 6 s, amplitude = 0.75 m) with aslow speed controller and no speed corrections. FIG. 19 Simulation ofactive heave compensation (period = 6 s, amplitude = 0.75 m) with a slowspeed controller and with corrections for MRU filters and drive responseFIG. 20 Simulation of active heave compensation (period = 15 s,amplitude = 2.6 m) with a slow speed controller and with corrections forMRU filters, drive response and friction. FIG. 21 Simulation of activeheave compensation (period = 10 s, amplitude = 1.5 m) with a fast speedcontroller and with no corrections. FIG. 22 Simulation of active heavecompensation (period = 10 s, amplitude = 1.5 m) with a fast speedcontroller and with corrections for MRU filters, drive response andfriction FIG. 23 Simulation of active heave compensation (period = 10 s,amplitude = 1.5 m) with a slow speed controller, with position feedbackonly (ω_(clip) = 1.71/s) FIG. 24 Simulation of active heave compensation(period = 10 s, amplitude = 1.5 m) with a slow speed controller, withcorrections for MRU filters, drive response and friction, and withposition feedback (ω_(clip) = 1.71/s)

It is clear from these Figures that speed corrections to compensate forMRU filters, drive response and friction dramatically improves accuracy.This is especially true for the slow speed controller case where thecompensation error is reduced by a factor of 10 or more.

The compensation error is smallest at a wave period corresponding to thecenter frequency of the MRU filters (at approximately 10 s) and itincreases rapidly for shorter wave periods.

The friction compensation has a large effect on the reduction of theposition error from 4.7% to 1% in 10 s period and 500 tons load. Theeffect of friction compensation increases proportionally with the load.

Stiffening of the speed controller (by reducing motor and integrationtime constants) improves the compensation accuracy significantly,especially when speed corrections for MRU, drive and frictioncompensation are not applied.

Dual Drawworks

Referring to FIG. 25 an apparatus for implementing a second embodimentof the method according to the invention is generally identified byreference numeral 200. The apparatus 200 is generally similar to thefirst embodiment except that the dead line and anchor 28 have beenreplaced by a drawworks similar to the drawworks 30. The apparatustherefore has two drawworks 201, 202 (known as ‘dual drawworks), one oneither side of the derrick (not shown in FIG. 25); although it ispossible to stack the drawworks on top of one another on one side of thederrick. Each drawworks 201, 202 has its own power supply. Each end ofthe steel rope 226 (or drill line) is attached to a respective one ofthe drawworks and the intermediate cable passes through the crown block218 and travelling block 220. In this way the travelling block 220 canbe raised and lowered by reeling cable 228 on and off either one of thedrawworks 201, 202, (so-called ‘single mode’) or both drawworkssimultaneously (so-called ‘dual mode’). The dual mode can either be runat the same speed (synchronous mode), or run at different speeds(asynchronous mode).

In synchronous mode the drawworks 201, 202 are each run with the samespeed and the centre sheave of the crown block 218 is non-rotating.Whilst the line speed magnitude increases towards the ends spooled in orout of the drum, the relatively low line speed in the synchronous modehas many advantages, such as 1) lower inertia of the line and sheavesystem, 2) higher acceleration limits for line slack and 3) less wearand bending induced fatigue load of the cable 226. There are also someadvantages if the speed ratio of the drawworks is changed from thesynchronous 50/50 ratio to 40/60 or 60/40 ratio, for example. This willdistribute the line wear more evenly along line and thereby extend theline life as compared with a constant 50/50 ratio.

One of the major benefits of employing dual drawworks is redundancy. Ifone unit fails, the other can still be operated and move the travellingblock 220, like a conventional single drawworks. This is especiallyimportant in critical operations when heave compensating while thestring is fixed to bottom for example. If the heave compensation stops,the tension forces from the heaving vessel could damage the string andeven cause blowouts or other hazard situations. With one dual drawworksunit intact, the compensation can continue. Even though the speed andheave compensation capabilities in the single mode are reduced toroughly 50% of the dual mode, it offers full redundancy unless theweather conditions are extremely rough and the vessel heave exceed thesingle mode capacity limits

In order to minimise the transient errors when the failed unit stops,the remaining unit should take into account the motion of the failedunit during the short but finite stopping time.

Referring to Appendix E an algorithm is shown for splitting thetravelling block set speed v_(set) into to two components, one for eachdrawworks 201, 202. This speed splitting software can be implemented inone single PLC (e.g. a drawworks controller like the drawworkscontroller 38) to control both drawworks 201, 202.

At step ES1 the PLC sets or calculates the parameters and variablesshown and holds them in memory. The speed factor s₁ is set by theoperator between 0 and 1. Typically s₁ is set at 0.5 resulting in a50/50 split of the speed command received from the limiting module 133.The optimal values for time delay t_(d), the position control parameterf_(p) and the feed-back constant ω_(p) must be determined by trial anderror during commissioning. The motion components, acceleration, speedand position for each unit are basically determined from motor encodersin the same way as they are for conventional single drawworks. However,instead of one transmission radius discussed earlier for a conventionalsingle drawworks) there are now two radii, one for each drawworks. Theydiffer from each other when the drums have different number of layers.

At step ES2 the controller checks to see if one or other of thedrawworks is disabled (for whatever reason). If so, the algorithm jumpsto step ES5. Otherwise at step ES3 the speed split is between the twodrawworks 201, 202 using the speed factor s₁.

As the drawworks 201, 202 do not work perfectly there will be an errorbetween the actual position of the travelling block 220 and the positionthat it should be in according to the speed commands. Step ES4 isintended to compensate for this error. Firstly, the actual total blockheight is obtained from angular position encoders on each drawworks.Firstly, the actual total block height h is obtained from the positionvalues for each drawworks 201, 202. The height error h_(err) is thendetermined by comparing the actual block height component h₁ with theproportion of the total block height h according to the speed factor s₁.To correct for this error, which is normally small but can become largewhen the speed factor is changed, a corrective balancing speed v_(bal)is calculated. It is first set proportionally with the position error bymultiplying the position error by a feedback constant Ω_(p), but toavoid motion when there is no set speed for the travelling block, thefeedback speed is clipped to limits defined by ±f_(p) |v_(set)|. Theresulting balancing speed is then subtracted from and added to the setspeeds for drawworks 201 and 202, respectively. In this way the positionbalancing speed will cause a cross spooling of the drill line betweenthe two units but no net motion of the travelling block 220.

Step ES5 is calculated only if one of the units is disabled, typicallyas a consequence of a failure. Disabling of a unit can occur abruptlywhen the unit is in full motion. In such cases operator set speed factoris overridden and the remaining unit provides all of the set speed.However, even when the disabled unit stops by means of its emergencybrakes, it will not stop instantly. To make the transition from dualmode to single mode as smooth as possible, the transient, measured speedof the disabled drawworks is subtracted from the set speed of theremaining active unit. The time delay correction based on theacceleration of the disabled unit is added for minimising thecompensation errors during the transition time interval. When thedisabled unit has come to a complete stop, these terms automaticallyreduce to zero and have no effect.

Referring to FIG. 26 a control diagram 250 is generally similar to thecontrol diagram 130 with like reference numerals indicating like parts.Following the limiting module 133 the adjusted heave compensation signalis passed to a splitter module 252. The splitter module 252 comprisescomputer executable instructions stored in the memory of the drawworkscontroller 38 and is functions to determine the set speed of eachdrawworks 201, 202 (including any position correction). Each set speedis sent to a respective drive 254, 256 of the drawworks 201, 202 whichcontrols the speed accordingly. The output speeds of the two drawworksare summed to control the velocity of the travelling block 220. Themotion of the drilling rig is superimposed on this output speed;assuming accurate heave compensation the final movement v_(global) ofthe travelling block 220 will be substantially equal to the input by theoperator v_(op).

Advantages of this algorithm include:

a) synchronous as well asynchronous motion of two drawworks; the speedratio selectable by the operator.

b) position balancing ensures that the position component from each unitapproaches the specified speed ratio. The position balancing function isa cross spooling that does not affect the position of the travellingblock. The balance correction speed is limited to a fraction of the setspeed and is therefore frozen when the travelling block is stopped.

c) if one unit fails and stops, the other unit takes over the entireheave compensation task. This unit also compensates for the transientmotion of the failed unit, in order to make the transition from dual tosingle mode as smooth as possible.

One alternative is for an MRU to store computer executable instructionsfor making any number of the speed corrections (MRU, drive, frictionand/or delay) internally. Another alternative is for the functionalityprovided by the invention to be provided in a separate PLC (i.e. notpart of a drawworks controller).

Although the invention brings about particular benefits in the field ofoil and gas extraction at sea (e.g. drilling operations, well serviceoperations including coil tubing, wireline operations, etc.), the use ofthe invention is not limited to this field. Other fields of use areenvisaged such as any hoisting equipment (e.g. cranes and winches) foruse on vessels where the effects of heave need to be reduced, forexample pipe and cable laying vessels.

Although the embodiments of the invention described with reference tothe drawings comprises computer apparatus and methods performed incomputer apparatus, the invention also extends to computer programs,particularly computer programs on or in a carrier, adapted for puttingthe invention into practice. The program may be in the form of sourcecode, object code, a code intermediate source and object code such as inpartially compiled form, or in any other form suitable for use in theimplementation of the methods according to the invention. The carriermay be any entity or device capable of carrying the program. Forexample, the carrier may comprise a storage medium, such as a ROM, forexample a CD ROM or a semiconductor ROM, or a magnetic recording medium,for example a floppy disc or hard disk. Further, the carrier may be atransmissible carrier such as an electrical or optical signal that maybe conveyed via electrical or optical cable or by radio or other means.

When the program is embodied in a signal that may be conveyed directlyby a cable or other device or means, the carrier may be constituted bysuch cable or other device or means. Alternatively, the carrier may bean integrated circuit in which the program is embedded, the integratedcircuit being adapted for performing, or for use in the performance of,the relevant methods.

In conclusion, therefore, it is seen that the present invention and theembodiments disclosed herein and those covered by the appended claimsare well adapted to carry out the objectives and obtain the ends setforth. Certain changes can be made in the subject matter withoutdeparting from the spirit and the scope of this invention. It isrealized that changes are possible within the scope of this inventionand it is further intended that each element or step recited in any ofthe following claims is to be understood as referring to the stepliterally and/or to all equivalent elements or steps. The followingclaims are intended to cover the invention as broadly as legallypossible in whatever form it may be utilized. The invention claimedherein is new and novel in accordance with 35 U.S.C. §102 and satisfiesthe conditions for patentability in §102. The invention claimed hereinis not obvious in accordance with 35 U.S.C. §103 and satisfies theconditions for patentability in §103. This specification and the claimsthat follow are in accordance with all of the requirements of 35 U.S.C.§112. The inventors may rely on the Doctrine of Equivalents to determineand assess the scope of their invention and of the claims that follow asthey may pertain to apparatus not materially departing from, but outsideof, the literal scope of the invention as set forth in the followingclaims. All patents and applications identified herein are incorporatedfully herein for all purposes.

APPENDIX B Algorithm for Correction Module BS1. Read, set or calculateinput parameters/variables: a_(mru) MRU acceleration v_(mru) MRUvelocity p_(mru) MRU position ε damping parameter of MRU filter ω_(c)angular cut-off frequency of MRU filter t_(i) integration time constantof speed controller t_(m) motor time constant of speed controller t_(d)delay time Δt time increment F_(ext) external load (hook load) η_(dw)drawworks efficiency d_(dw) liner damping coefficient of drawworks vtravelling block speed M total effective inertia mass BS2. MRUcorrection v_(G) = 2ε*ω_(c)*p_(mru) drive correction BS3. Drivecorrections a_(lp) = a_(lp) + (a_(mru) − a_(lp))*Δt/t_(i) low passfiltered acceleration a_(hp) = a_(mru) = a_(lp) high pass filteracceleration v_(H) = t_(m)*a_(hp) drive correction term BS4. Frictioncorrections F_(f) = (η_(dw) ^(sign(v)) − 1)*F_(ext) − d_(dw)*v frictionforce estimate a_(f) = F_(f)/M corresponding acceleration a_(f, lp) =a_(f, lp) + (a_(f) − a_(f, lp))*Δt/t_(i) low pass filtered accelerationa_(f, hp) = a_(f) − a_(f, lp) high pass filter acceleration v_(f) =t_(m)*a_(f, hp) friction correction term BS5. Delay correction a_(lp, d)= a_(lp, d) + (a_(mru) − a_(lp, d))*Δt/t_(d) low pass filteredacceleration a_(hp, d) = a_(mru) − a_(lp, d) high pass filtered mruacceleration v_(delay) = t_(d)*a_(hp) delay correction term BS6. Applycorrections v_(mru) = v_(mru) + v_(G) + v_(H) + v_(F) + v_(delay)corrected heave compensation speed BS7. Position correction If notposCorrectionOn end skip the optional position correction v_(pos) =(p_(mru) − p_(mruOld))/Δt MRU position based speed p_(mruOld) = p_(mru)keep for next cycle v_(diff) = v_(mru) − v_(pos) speed differencet_(filter) = 100 use 100 s as filter time constant v_(p) = v_(p) +(v_(diff) − v_(p))*Δt/t_(filter) low pass filtered value of v_(diff)v_(mruCorr) = v_(mruCorr) + v_(p) apply position correction

APPENDIX C Algorithm for the Soft Switch Module CS1. Read, set orcalculate input parameters/variables: AHC_On flag for heave compensatiov_(mruCorr) MRU velocity (after correction) p_(mru) MRU positiont_(fade) fade time (typical 5 s) Δt time increment CS2. Determine fadedirection IF AHC_On if heave compensation turned on s = 1 fade-in orfully on ELSE s = −1 fade-out or fully off CS3. Integrate and clip fadevariable x = x + s*Δt/t_(fade) integrate x = max(0, min(x, 1)) clip iflimits are violated CS4. Calculate switch factor and its time derivativeS = (1 − cos(x*π))/2 soft switch factor S_(dot) = (S − S_(old))/Δt timederivative of S S_(old) = S keep for next time cycle CS5. Application ofthe soft switch v_(ahc) = S*v_(mruCorr) + S_(dot)*p_(mru) heavecompensation velocity component v_(set) = v_(set) − v_(ahc) subract thisfrom the operator set speed

APPENDIX D Algorithm for the Limiting Module DS1. Read, set or calculateinput parameters/variables: a_(ramp) acceleration limit from drive oroperator F_(mMax) motor pull force limit (at low speed) h actual blockposition h_(min) minimum position (lower stop target) M total effectiveinertia mass M_(sl) inertial mass of line and sheaves P_(min)regenerative power limit P_(max) motoring power limit (<0) v_(mMin)motor based speed limit (<0) Δv_(std) standard speed increment Δt timeincrement ω_(clip) factor for clipping error compensation DS2.Initialise integration variables v_(old) = 0 speed L_(acc) = 0accumulated stop length L_(stop) = h − h_(min) available stop length Δv= Δv_(std) start with standard speed increment DS3. Increment speedlimit v_(min) = v_(old) − Δv minimum speed DS4. Calculate speeddependent pull force F_(max) = min (F_(mMax), P_(min)/v_(min)) maximummotor pull F_(net) = F_(max) − F_(ext) net pull margin IF F_(net) ≦ 0 ifpull margin is not positive Δv = Δv/2 reduce speed step jump to 3 andrepeat margin check DS5. Calculate acceleration capacities a_(motors) =F_(net)/M acceleration capacity from motors a_(max) = min(a_(motors),a_(ramp)) select the most restricted acceleration DS6. Update and checkaccumulated stop length ΔL = (v_(min) ² − v_(old) ²)/(2a_(max)) stoplength increment (>0) L_(acc) = L_(acc) = ΔL accumulated stop length IFL_(acc) < L_(stop) if available stop length not reached v_(old) =v_(min) keep speed for next iteration jump to 3 continue with one morespeed step DS7. Interpolation to find stop length based speed limit f =(L_(acc) − L_(stop))/ΔL fraction of last stop length increment exceedingstop length v_(min) = v_(min) − f*Δv linearly interpolated speed limitDS8. Check against rated speed limit v_(min) = max(v_(min), − v_(rated))select the most restrictive speed limit DS9. Motor push force limitF_(min) = min(−F_(mMax), P_(max)/v_(lim)) minimum motor force F_(net) =F_(min) − F_(ext) net (downwards) push force DS10. Downwardsacceleration limits a_(motors) = F_(net)/M motor based accelerationlimit (<0) a_(slack) = −F_(ext)/M_(sl) line slack acceleration limita_(min) = max(a_(motors), −a_(ramp), a_(slack)) selectmost restrictedacceleration (<0) DS11. Apply speed and acceleration limits to set speed(when v < 0) v_(limLo) = v_(limOld) + a_(min)Δt lowest speed based onprevious output v_(limHi) = v_(limOld) + a_(min)Δt highest speed basedon previous output v_(minLo) = max(v_(min), v_(limLo)) minimum valuefrom limiter module v_(minHi) = min(v_(min), v_(limHi)) maximum valuefrom limiter module v_(set) = v_(set) + v_(clip) add correction speedfor clipping error v_(lim) = max(v_(minLo), min(v_(set), v_(minHi)))output speed from limiting module v_(limOld) = v_(lim) keep output speedfor next time cycle DS12. Update clipping error feed-back p_(clip) =p_(clip) + (v_(set) − v_(lim))*Δt position error from clipping v_(clip)= ω_(clip)*p_(clip) corresponding feedback speed

APPENDIX E Algorithm for the Speed Splitting of Dual Drawworks ES1.Read, set or calculate input parameters/variables: v_(set) set speed(desired block speed) s₁ speed factor for drawworks unit 1 h₁ blockheight from unit 1 h₂ block height from unit 2 v₁ block speed from unit1 v₂ block speed from unit 2 a₁ block acceleration from unit 1 a₂ blockacceleration from unit 2 t_(d) time delay (signal & response delay)f_(p) parameter for position control (0 < f_(p) ≦ 1) ω_(bal) positionbalancing constant (~0.1 s⁻¹) unit1Disabled flag for failed/disabledunit 1 unit2Disabled flag for failed/disabled unit 1 ES2. Check if bothunits are running IF unit1Disabled or unit2Disabled if one of the unitsis disabled jump to ES5 skip normal speed splitting ES3. Normal speedsplitting v_(set1) = s₁*v_(set) set speed for unit 1 v_(set2) = (1 −s₁)*v_(set) set speed for unit 2 ES4. Position balancing control(ensures that position ratio matches the speed ratio) h = h₁ + h₂ totalblock height h_(err) = h₁ − s₁*h position error v_(bal) = ω_(p)*h_(err)corrective speed for position error v_(balMax) = f_(p)*abs(v_(set))upper corrective speed limit v_(balMin) = −v_(balMax) lower correctivespeed limit v_(bal) = max(v_(balMin), min(v_(bal), v_(balMax))) clipcorrective speed if limits are exceeded v_(set1) = v_(set1) − v_(bal)apply position control to unit 1 v_(set2) = v_(set2) + v_(bal) applyposition control to unit 2 ES5. Special speed splitting if one unit isdisabled IF unit1Disabled v_(set1) = 0 use zero set speed for the failedunit v_(set2) = v_(set) compensate 100% with the other unit v_(set2) =v_(set2) − v₁ add transient motion of failed unit v_(set2) = v_(set2) −a₁*t_(d) correct also for time delays IF unit2Disabled v_(set2) = 0 setzero speed for the failed unit v_(set1) = v_(set) compensate 100% withthe other unit v_(set1) = v_(set1) − v₂ add transient motion of failedunit v_(set1) = v_(set1) − a₂*t_(d) correct also for time delays

1-66. (canceled)
 67. A method of actively compensating heave of a vesselto which a load is attached, there being a connection device connectingsaid load to said vessel, which method comprises the steps of: (a)measuring with a measurement device the heave of said vessel andoutputting a heave signal representative thereof, which heave signalcomprises a velocity signal representing velocity of said vessel inresponse to said heave; (b) using said heave signal to compensate forsaid heave by moving said connection device relative to said vessel as afunction of said heave signal, whereby movement of said load due to saidheave is reduced; said heave signal comprising errors induced by saidmeasurement device whereby accuracy of said compensation is reduced,characterised by the steps of: (c) processing said heave signal bydetermining a velocity correction (vG) and adjusting said velocitysignal by said velocity correction so as to reduce said errors andoutputting an adjusted heave signal; and (d) using said adjusted heavesignal to move said connection device to compensate for said heave. 68.A method according to claim 67, wherein said step (c) comprises reducinga lead phase error in said velocity signal by adding said velocitycorrection (vG) to said velocity signal, which velocity correction isproportional to a position signal representing the position of saidvessel relative to a fixed point.
 69. A method according to claim 67,wherein said vessel comprises drive apparatus for effecting movement ofsaid connection device as a function of said heave signal, the methodfurther comprising the step of further adjusting said heave signal toreduce errors introduced by inertia and/or friction effects of saiddrive apparatus in effecting movement of said connection device.
 70. Amethod according to claim 69, wherein said further adjustment isproportional to (a) a drive time constant being the quotient of a momentof inertia (J) of said drive apparatus divided by a gain (P) of aproportional integral (PI) speed controller of an electronic controlsystem of a drive of said drive apparatus, and (b) an accelerationsignal representing a filtered value of the acceleration of said vesselin response to said heave, whereby said heave signal is adjusted tocompensate inertia errors introduced by said drive apparatus.
 71. Amethod according to claim 70, wherein said acceleration signal has beenfiltered by an acceleration filter that comprises a first order highpass filter having a time constant substantially equal to an integrationtime constant (ti) of said proportional integral (PI) speed controller.72. A method according to claim 70, wherein said further adjustment isproportional to (a) said drive time constant, and (b) an accelerationsignal representing a filtered value of the friction acceleration beingthe quotient of a friction force (Ff) experienced by said driveapparatus divided by a total inertial mass (M) of said drive apparatus,whereby said heave signal is adjusted to compensate friction errorsintroduced by said drive apparatus.
 73. A method according to claim 72,wherein said acceleration signal has been filtered by an accelerationfilter that comprises a first order high pass filter having a timeconstant substantially equal to an integration time constant (ti) ofsaid proportional integral (PI) speed controller.
 74. A method accordingto claim 67, further comprising the step of applying dynamic limits tothe magnitude of said heave compensation, wherein said limits are set asa function of the acceleration capabilities of a drive apparatus or saidconnection device.
 75. A method according to claim 74, furthercomprising the step of determining a maximum and minimum allowableacceleration of said connection device, defining said dynamic limits asan upper limit and a lower limit on the basis thereof, and limitingmovement of said connection device based on said upper and lower limits.76. A method according to claim 67, further comprising the step ofdetermining a maximum and minimum speed limit from the present positionof said connection device such that said load can be stopped within aconstant or dynamic position limit.
 77. A method according to claim 67,wherein application of said dynamic limits causes asymmetric clipping ofsaid adjusted heave signal whereby a mean position of said connectiondevice moves with time, the method further comprising the step ofcompensating said adjusted heave signal for said asymmetric clipping toreduce movement of said mean position.
 78. A method according to claim77, wherein said compensation step comprises feeding back said adjustedheave signal following clipping, determining a clipping compensationsignal and adding said clipping compensation signal to said adjustedheave signal.
 79. A method according to claim 67, wherein there are twodrawworks for controlling the position of said connection device, saidtwo drawworks having a cable therebetween that passes through saidconnection device, the method further comprising the steps of splittingsaid adjusted heave compensation signal between said two drawworks sothat each applies a fraction thereof to control the position of saidconnection device.
 80. A method according to claim 79, furthercomprising the step of splitting said adjusted heave compensation signalsubstantially evenly between said two drawworks.
 81. A method accordingto claim 79, further comprising the step of splitting said adjustedheave compensation signal substantially unevenly between said twodrawworks, whereby the portion of said cable passing through saidconnection device and subject to bending stresses may be changed.
 82. Amethod according to claim 79, further comprising the step of instructingone of said two drawworks to provide all of said heave compensation whenthe other of said two drawworks is disabled.
 83. A method as claimed inclaim 67, wherein said vessel is a floating drilling rig, saidconnection device comprises a travelling block, and step (b) comprisesmoving said travelling block with a drawworks to compensate for saidheave.
 84. An apparatus for controlling active heave compensation, thearrangement being such that, in use, said apparatus controls movement ofa connection device that connects a load to a vessel, which apparatuscomprises an input for receiving a heave signal from a measurementdevice, which heave signal is representative of the heave of saidvessel, which heave signal comprises a velocity signal representingvelocity of said vessel in response to said heave; which apparatusfurther comprises a memory storing computer executable instructions forperforming the steps of: (a) using said heave signal to compensate forsaid heave by moving said connection device relative to said vessel as afunction of said heave signal, whereby movement of said load due to saidheave is reduced; said heave signal comprising errors induced by saidmeasurement device whereby accuracy of said compensation is reduced; (b)processing said heave signal by determining a velocity correction (vG)and adjusting said velocity signal by said velocity correction so as toreduce said errors and outputting an adjusted heave signal; and (c)using said adjusted heave signal to move said connection device tocompensate for said heave.
 85. A measurement device for measuring heaveof a vessel, which measurement device comprises one or more sensor formeasuring motion of a vessel, a memory storing computer executableinstructions for performing the steps of. (a) measuring with said one ormore sensor the heave of a vessel, and generating a heave signal whichcomprises a velocity signal representing velocity of said vessel inresponse to said heave, said heave signal comprising errors induced bysaid measurement device; and (b) processing said heave signal bydetermining a velocity correction (vG) and adjusting said velocitysignal by said velocity correction so as to reduce said errors andoutputting an adjusted heave signal.